﻿
@{
    ViewBag.Title = "编辑页面";
    var F = Html.F();
}

@model BoYuanCore.Entities.SysRole

@section head {

}

@section body {
    @(
    F.Tree().ID("Tree1").Width(650).EnableCollapse(false).ShowHeader(false).EnableCheckBox(true).IsViewPort(true)
        .Nodes((TreeNode[])ViewBag.Tree1DataSource).Listener("nodecheck", "onTreeNodeCheck")
        .Toolbars(
            F.Toolbar().Items(
                F.TextBoxFor(m => m.RoleName).ID("f_RoleName").Label("权限角色名称").LabelWidth(120).ShowRedStar(true).Required(true)
                ,F.CheckBoxFor(m=>m.IsDel).ID("f_IsDel").ShowLabel(false).DisplayType(CheckBoxDisplayType.Switch).SwitchTextVisible(true).SwitchOnText("启用").SwitchOffText("不可用").Width(70)
                ,F.Button().ID("Button_add").Icon(Icon.TableEdit).Text("保存权限角色").OnClientClick("AddInfo()").ValidateForms("Tree1")
                    ,F.HiddenFieldFor(m=>m.ID).ID("f_ID")
                ),
            F.Toolbar().Items(
                    F.TextBoxFor(m => m.Remark).ID("f_Remark").Label("备注").MaxLength(200).LabelWidth(120).Width(500)
                )
        )


    )
}

@section script {
    <script>
        F.ready(function () {
           @if (ViewBag.isJsAdd != null)
           {
               @Html.Raw("F.ui.f_IsDel.setValue(true);")
           }
        })

        function AddInfo() {
            F.doPostBack('@Url.Action("BtnSave_OnClick")', "Tree1",{ checkedNodes:getCheckedNodes()});
        }

        function onTreeNodeCheck(event, nodeId, checked) {
            var me = this;
            F.noEvent(function () {
                if (checked) {
                    // 第二个参数true：递归更新全部子节点
                    me.checkNode(nodeId, true);
                } else {
                    me.uncheckNode(nodeId, true);
                }
            });
        }

        function getCheckedNodes() {
            var result = '';
            var checkedNodes = F.ui.Tree1.getCheckedNodes(true);
            if (checkedNodes.length) {
                $.each(checkedNodes, function (index, node) {
                    result += "," + node.id;
                });
            }
            return result;
        }

    </script>
}
